﻿using System.Linq;
using Sidvall.Collections;

namespace Sidvall.FileSystemManager.UI.Entities
{
	public sealed partial class SearchConfigCollection : Sidvall.FileSystemManager.UI.Entities.Core.BusinessBaseCollection<SearchConfig>
	{
		#region Public Members
		
		#region AcceptChanges

		public void AcceptChanges()
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.AcceptChanges(this);
		}

		#endregion
		#region Copy

		public SearchConfigCollection Copy()
		{
			return Copy(null);
		}
		partial void OnAfterCopy(SearchConfigCollection destination, SearchConfigCollection source, Sidvall.Data.CopySettings settings);
		public SearchConfigCollection Copy(Sidvall.Data.CopySettings settings)
		{
			SearchConfigCollection item;

			item = global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.Copy(this, settings);
			OnAfterCopy(item, this, settings);

			return item;
		}

		#endregion
		#region Import

		public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.FileSystemManager.Data.ISearchConfig> items)
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.Import(this, items);
		}
		public void Import(System.Collections.Generic.IEnumerable<global::Sidvall.FileSystemManager.Data.ISearchConfig> items, Sidvall.Data.CopySettings settings)
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.Import(this, items, settings);
		}

		#endregion
		#region ValidateAsync

		public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync()
		{
			return await global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.ValidateAsync(this).ConfigureAwait(false);
		}
		public async System.Threading.Tasks.Task<Sidvall.Data.BusinessRuleCollection> ValidateAsync(Sidvall.Data.ValidationSettings settings)
		{
			return await global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.ValidateAsync(this, settings).ConfigureAwait(false);
		}

		#endregion
		#region Initialize

		public void Initialize()
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.Initialize(this);
		}
		public void Initialize(Sidvall.Data.InitializeSettings settings)
		{
			global::Sidvall.FileSystemManager.UI.SystemContext.Current.EntityFacade.SearchConfigManager.Initialize(this, settings);
		}

		#endregion

		#endregion
		#region Constructors

		public SearchConfigCollection()
		{
		}

		#endregion
	}
}